const router = require('koa-router')()
const transport = require('../utils/email')
const schedule = require('node-schedule');
const dayjs = require('dayjs');
const { isPro } = require('../utils/url');

async function fetchPageContent2() {
  try {

    const sende = async () => {

      let toList = ['2954020052@qq.com', '3289391259@qq.com']

      for (const list of toList) {

        var mailOption = {
          from: '"康斐尔邮箱助手" <1078118049@qq.com>', //发件人
          to: list, //收件人
          subject: +dayjs().hour() < 22 ? `当前时间${dayjs().format('HH:mm')},可以开始准备睡觉了，洗漱完毕，放松心情，迎接美好的睡眠。` : `当前时间${dayjs().format('HH:mm')},别让熬夜成为你的常态，赶紧睡觉，明天见`, //标题
          html: `
                    <div
              style="
                width: 100vw;
                box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2),
                  0 6px 20px 0 rgba(0, 0, 0, 0.19);
              "
            >
              <div
                style="
                  background-color: #4caf50;
                  color: white;
                    display: flex;align-items: center;justify-content: center;
                  font-size: 40px;
                  height: 200px;
                "
              >
                <div>${`当前时间${dayjs().format('HH:mm')}`}</div>
           
              </div>
        
              <div style="height: 100px;display: flex;justify-content: center; align-items: center;">
                <p>${+dayjs().hour() < 22 ? `可以开始准备睡觉了，洗漱完毕，放松心情，迎接美好的睡眠。` : `别让熬夜成为你的常态，赶紧睡觉，明天见`}</p>
              </div>
            </div>
                    ` //正文，可使用 HTML 格式进行渲染
        }
        await transport.sendMail(mailOption, (err, res) => {
          if (err) {//执行错误

          } else {

          }
          transport.close(); // 如果没用，则关闭连接池
        })
      }




    }

    sende()


  } catch (error) {
    console.error('Error fetching the page content:', error.message);
  }
}

async function fetchPageContent3() {
  try {

    const sende = async () => {

      let toList = ['2954020052@qq.com', '3289391259@qq.com']

      for (const list of toList) {

        var mailOption = {
          from: '"康斐尔邮箱助手" <1078118049@qq.com>', //发件人
          to: list, //收件人
          subject: +dayjs().hour() > 9 && +dayjs().hour() < 13 ? +dayjs().hour() < 11 ? `当前时间${dayjs().format('HH:mm')},可以开始准备午餐了。` : `当前时间${dayjs().format('HH:mm')},该吃饭了，祝你有一顿美味的午餐。` : +dayjs().hour() < 19 ? `当前时间${dayjs().format('HH:mm')},可以开始准备晚餐了。` : `当前时间${dayjs().format('HH:mm')},该吃饭了，祝你有一顿美味的晚餐。`, //标题
          html: `
                    <div
              style="
                width: 100vw;
                box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2),
                  0 6px 20px 0 rgba(0, 0, 0, 0.19);
              "
            >
              <div
                style="
                  background-color: #4caf50;
                  color: white;
                    display: flex;align-items: center;justify-content: center;
                  font-size: 40px;
                  height: 200px;
                "
              >
                <div>${`当前时间${dayjs().format('HH:mm')}`}</div>
           
              </div>
        
              <div style="height: 100px;display: flex;justify-content: center; align-items: center;">
                <p>
               ${+dayjs().hour() > 9 && +dayjs().hour() < 13 ? +dayjs().hour() < 11 ? `当前时间${dayjs().format('HH:mm')},可以开始准备午餐了，选择健康的食物，享受美味的一餐。` : `当前时间${dayjs().format('HH:mm')},该吃饭了，祝你有一顿美味的午餐。` : +dayjs().hour() < 19 ? `当前时间${dayjs().format('HH:mm')},可以开始准备晚餐了，选择健康的食物，享受美味的一餐。` : `当前时间${dayjs().format('HH:mm')},该吃饭了，祝你有一顿美味的晚餐。`}
                </p>
              </div>
            </div>
                    ` //正文，可使用 HTML 格式进行渲染
        }
        await transport.sendMail(mailOption, (err, res) => {
          if (err) {//执行错误

          } else {

          }
          transport.close(); // 如果没用，则关闭连接池
        })
      }




    }

    sende()


  } catch (error) {
    console.error('Error fetching the page content:', error.message);
  }
}

router.get('/jbb', async (ctx, next) => {
  await ctx.render('../views/jbb/index')
})
router.get('/todo', async (ctx, next) => {
  await ctx.render('../views/todo/index')
})

router.get('/bhm', async (ctx, next) => {
  await ctx.render('../views/bhm/index')
})

// router.get('/teste', async (ctx, next) => {
//   fetchPageContent2();
// })

const task2 = () => {
  // 定义规则
  let rule2 = new schedule.RecurrenceRule();
  rule2.hour = [20, 21, 22];
  // rule.hour = [16];
  rule2.minute = 30;
  // rule.second = 30;
  // 启动任务
  schedule.scheduleJob(rule2, () => {
    fetchPageContent2();
    console.log(dayjs().format('HH:mm'), 'task2此时执行了')
  });

}

const task3 = () => {
  // 定义规则
  let rule3 = new schedule.RecurrenceRule();
  rule3.hour = [11, 18];
  // rule.hour = [16];
  rule3.minute = [30];
  // rule.second = 30;
  // 启动任务
  schedule.scheduleJob(rule3, () => {
    console.log(dayjs().format('HH:mm'), 'task3此时执行了')
    fetchPageContent3();

  });

}

const startScheduler = async () => {
  task2();
  task3();
  console.log('日常定时任务已启动')
}
isPro == 1 && startScheduler()

module.exports = router
